package com.cal.utms.dao.maintenance;

import java.util.List;

import com.cal.utms.entity.Customer;
import com.cal.utms.entity.CustomerBankAccount;
import com.cal.utms.entity.CustomerCodeSerial;
import com.cal.utms.entity.CustomerContactPerson;
import com.cal.utms.entity.CustomerEmail;
import com.cal.utms.entity.CustomerJointAppicant;

public interface CustomerDao {
	public List<Customer> getCustomerList();

	public Customer getCustomerById(int customer_id);

	public List<CustomerBankAccount> getBankAccountByCustomerId(int id);

	public Object saveCustomer(Customer customer);

	public CustomerCodeSerial getCustomerCode(String cus_type, String cus_residential, String cus_first_let_of_name);

	public short saveCustomerEmail(List<CustomerEmail> customerEmails);

	public Object saveCustomer(Customer createCustomerModle, List<CustomerEmail> customerEmails, List<CustomerBankAccount> customerBankAccounts,
			List<CustomerContactPerson> customerContactPersons, List<CustomerJointAppicant> customerJointAppicants);

	public List<CustomerEmail> getEmailByCustomerId(int id);

	public List<CustomerJointAppicant> getAppicntByCustomerId(int customer_id);

	public List<CustomerContactPerson> getContactPersonByCusId(int customer_id);

	public Object updateCustomer(Customer customer, List<CustomerBankAccount> customerBankAccounts);

	public CustomerBankAccount getAccountById(int accountId);

	public List<Customer> getCustomers(String code, String name);
}
